home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Environments / Oberon⁄F™ 1.2 / Preinstalled version / Form / Docu / Views (.txt) < prev   
Encoding:
Oberon Document  |  1996-07-08  |  4.7 KB  |  124 lines  |  [oODC/obnF]

  1. Documents.StdDocumentDesc
  2. Documents.DocumentDesc
  3. Containers.ViewDesc
  4. Views.ViewDesc
  5. Stores.StoreDesc
  6. Documents.ModelDesc
  7. Containers.ModelDesc
  8. Models.ModelDesc
  9. Stores.ElemDesc
  10. TextViews.StdViewDesc
  11. TextViews.ViewDesc
  12. TextModels.StdModelDesc
  13. TextModels.ModelDesc
  14. TextModels.AttributesDesc
  15. Helvetica
  16. TextRulers.StdRulerDesc
  17. TextRulers.RulerDesc
  18. TextRulers.StdStyleDesc
  19. TextRulers.StyleDesc
  20. TextRulers.AttributesDesc
  21. Helvetica
  22. Helvetica
  23. Helvetica
  24. Helvetica
  25. Helvetica
  26. FormViews
  27. DEFINITION FormViews;
  28.     IMPORT Ports, Views, Controllers, Containers, FormModels;
  29.     CONST minBorder = 4 * Ports.point; maxBorder = 100 * Ports.mm;
  30.     TYPE
  31.         View = POINTER TO ViewDesc;
  32.         ViewDesc = RECORD (Containers.ViewDesc)
  33.             border-: LONGINT;
  34.             grid-: LONGINT;
  35.             gridFactor-: INTEGER;
  36.             PROCEDURE (v: View) ThisModel (): FormModels.Model;
  37.             PROCEDURE (v: View) SetBorder (border: LONGINT);
  38.             PROCEDURE (v: View) SetGrid (grid: LONGINT; gridFactor: INTEGER)
  39.         END;
  40.         Directory = POINTER TO DirectoryDesc;
  41.         DirectoryDesc = RECORD
  42.             PROCEDURE (d: Directory) New (f: FormModels.Model): View
  43.         END;
  44.         dir-, stdDir-: Directory;
  45.         ctrldir-: Controllers.Directory;
  46.     PROCEDURE Focus (): View;
  47.     PROCEDURE FocusModel (): FormModels.Model;
  48.     PROCEDURE RoundToGrid (v: View; VAR x, y: LONGINT);
  49.     PROCEDURE New (): View;
  50.     PROCEDURE Deposit;
  51.     PROCEDURE SetDir (d: Directory);
  52.     PROCEDURE SetCtrlDir (d: Containers.Directory);
  53. END FormViews.
  54. FormViews are the standard views on FormModels.
  55. CONST minBorder, maxBorder
  56. The border of a form view is the minimal distance between any of the view borders and the bounding box of the embedded views. The preferred border can be set to a value in the range [minBorder .. maxBorder].
  57. TYPE View
  58. Interface, Extension
  59. border-: LONGINT    minBorder <= border <= maxBorder
  60. Persistent
  61. Preferred minimal distance between any view edge and the closest embedded view.
  62. grid-: LONGINT    grid > 0
  63. Persistent
  64. Preferred grid on which any embedded view's top-left corner should be aligned.
  65. gridFactor-: INTEGER    gridFactor > 0
  66. Persistent
  67. If the grid is shown, every gridFactor-th grid unit a dotted line is shown.
  68. PROCEDURE (v: View) ThisModel (): FormModels.Model
  69. Interface, Extension
  70. Result type is narrowed.
  71. PROCEDURE (v: View) SetBorder (border: LONGINT)
  72. Operation
  73. Sets the view's preferred border.
  74. border >= 0    20
  75. border < minBoder
  76.     v.border = minBorder
  77. border > maxBorder
  78.     v.border = maxBorder
  79. minBorder <= border <= maxBorder
  80.     v.border = border
  81. PROCEDURE (v: View) SetGrid (grid: LONGINT; gridFactor: INTEGER)
  82. Operation
  83. Sets the view's preferred grid.
  84. grid > 0    20
  85. gridFactor > 0    21
  86. v.grid = grid  &  v.gridFactor = gridFactor
  87. TYPE Directory
  88. Interface
  89. Directory for form views.
  90. PROCEDURE (d: Directory) New (m: FormModels.Model): View
  91. Interface
  92. Return a new view on m
  93. m # NIL    20
  94. result # NIL
  95. result.ThisModel() = m
  96. PROCEDURE Focus (): View
  97. Returns the focus form view, if it is one.
  98. PROCEDURE FocusModel (): FormModels.Model
  99. Returns the model of the focus form view, if it is one.
  100. PROCEDURE RoundToGrid (v: View; VAR x, y: LONGINT)
  101. Rounds the coordinate (x, y) to the closest point on v's grid.
  102. v # NIL    20
  103. x > 0  &  y > 0    21
  104. x MOD v.grid = 0
  105. y MOD v.grid = 0
  106. PROCEDURE New (): View
  107. Returns a new form view with a new empty form model, i.e. returns FormViews.dir.New(FormModels.dir.New()).
  108. PROCEDURE Deposit
  109. Deposit creates a new form view with a new empty form model and deposits the view.
  110. Deposit is called internally.
  111. PROCEDURE SetDir (d: Directory)
  112. Assigns view directory.
  113. d # NIL    20
  114. dir = d
  115. PROCEDURE SetCtrlDir (d: Containers.Directory)
  116. Assigns the controller directory for form views.
  117. d # NIL    20
  118. TextControllers.StdCtrlDesc
  119. TextControllers.ControllerDesc
  120. Containers.ControllerDesc
  121. Controllers.ControllerDesc
  122. Helvetica
  123. Documents.ControllerDesc
  124.